package com.cn.exception.hm;

/**
 * Throwable成员方法
 * 1. public String getMessage(): 返回此 throwable 的详细消息字符串
 * 2. public String toString(): 返回此可抛出的简短描述
 * 3. public void printStackTrace(): 把异常的错误信息输出在控制台
 *
 *
 * 方法	        作用	                                                            返回值示例	常见用途
 * getMessage()	获取异常的描述信息。	"This is an error message"	                提取异常信息，提供用户友好的提示。
 * toString()	返回异常的简要描述，包括类名和描述信息（message）。	                "java.lang.Exception: This is an error message"	简单记录异常类型和信息。
 * printStackTrace()	打印异常的详细堆栈信息，包括类名、描述信息以及异常发生的调用栈。	堆栈详细信息	调试和日志记录，
 */
public class Exception_05_ThrowableMemberMethods {

    public static void main(String[] args) {
        System.out.println("开始");
        method();
        System.out.println("结束");
    }

    public static void method(){
        try{
            int[] arr = {1,2,3};
            System.out.println(arr[3]);
            System.out.println("这里你能访问到吗");
        }catch (ArrayIndexOutOfBoundsException e){
            // public String getMessage() printStackTrace 把异常的错误信息输出在控制台
            // 终端红字显示
            // java.lang.ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3
            //	at com.cn.exception.hm.Exception_05_ThrowableMemberMethods.method(Exception_05_ThrowableMemberMethods.java:20)
            //	at com.cn.exception.hm.Exception_05_ThrowableMemberMethods.main(Exception_05_ThrowableMemberMethods.java:13)
            e.printStackTrace();

            //public String toString() 返回异常的简短描述
            //返回值：ava.lang.ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3
            System.out.println(e);
            System.out.println(e.toString());

            //public String getMessage()
            // 返回值：Index 3 out of bounds for length 3
            System.out.println(e.getMessage());

        }
    }



}
